package jar;

public abstract class Apuesta {

	Jugador jugador;
	int numeroJugado;
	int fichasApostadas;
	String tipoApuesta;
	
	public String getTipoApuesta() {
		return tipoApuesta;
	}

	public void setTipoApuesta(String tipoApuesta) {
		this.tipoApuesta = tipoApuesta;
	}

	public Apuesta(Jugador unJugador, int numero, int fichas){
		jugador = unJugador;
		numeroJugado = numero;
		fichasApostadas = fichas;
	}
	
	public Apuesta(Jugador unJugador, int fichas){
		jugador = unJugador;
		fichasApostadas = fichas;
	}
	
	public Jugador getJugador() {
		return jugador;
	}

	public void setJugador(Jugador jugador) {
		this.jugador = jugador;
	}

	public int getNumeroJugado() {
		return numeroJugado;
	}

	public void setNumeroJugado(int numeroJugado) {
		this.numeroJugado = numeroJugado;
	}

	public int getFichasApostadas() {
		return fichasApostadas;
	}

	public void setFichasApostadas(int fichasApostadas) {
		this.fichasApostadas = fichasApostadas;
	}

	public abstract void darFichasGanador(MesaDeJuego unaMesaDeJuego) throws ExceptionLimiteBancaSuperado;
	
	public void descontarFichasJugador(){
		jugador.setFichas(jugador.getFichas()-(fichasApostadas));
	}
	
	public abstract boolean ganador(int numero);

	public void evaluar(int numero, MesaDeJuego mesa) throws ExceptionLimiteBancaSuperado {
		if (this.ganador(numero)) {
			this.darFichasGanador(mesa);
		}
		else {
			mesa.cobrarte(this.getFichasApostadas());
			this.descontarFichasJugador();
		}
	}
	
	/*public void setFichasGanadas(int fichas){
		jugador.setFichas(jugador.getFichas()+fichas);
	}*/
}
